package com.renjun.smweb.service.RegisterService.impl;

import com.renjun.smweb.commons.componet.FileIOComponent;
import com.renjun.smweb.commons.enums.EStandTables;
import com.renjun.smweb.commons.global.DataDict;
import com.renjun.smweb.commons.global.FileInfoPo;
import com.renjun.smweb.commons.global.StaticCaches;
import com.renjun.smweb.exceptions.BaseException;
import com.renjun.smweb.exceptions.DictIsNotFoundException;
import com.renjun.smweb.exceptions.FileTypeNotFoundException;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import com.renjun.smweb.commons.global.FileInfoPo;
import com.renjun.smweb.exceptions.BaseException;
import com.renjun.smweb.exceptions.FileTypeNotFoundException;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * Created by lrs on 2017/3/7.
 */
public class GenerateRegistrationForm {

    private static final String fontType = "simsun.ttc,0";  //字体类型

    private static final String fontPath = StaticCaches.getRealRootPath() + File.separator + "pdf_res" + File.separator + "fonts" + File.separator + fontType;  //字体路径

    private static final String imagePath = StaticCaches.getRealRootPath() + File.separator + "pdf_res" + File.separator + "image" + File.separator + "gou1.jpg";//图片路径

    //初始化BaseFont对象
    private BaseFont baseFont = BaseFont.createFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

    //字体大小
    private final Font font1 = new Font(baseFont, 15, Font.BOLD);    //标题字体
    private final Font font3 = new Font(baseFont, 8, Font.NORMAL);   //报名学校和年级信息
    private final Font font5 = new Font(baseFont, 10, Font.BOLD);    //监护人签名信息
    private final Font font6 = new Font(baseFont, 7, Font.BOLD);     //表格黑体字
    private final Font font7 = new Font(baseFont, 7, Font.NORMAL);   //表格内容字体

    private GenerateRegistrationForm() throws IOException, DocumentException {
    }


    //供外部调用的方法
    public static String createRegistrationForm(List<Map<String, Object>> params) throws DocumentException, BaseException, IOException {
        GenerateRegistrationForm g = new GenerateRegistrationForm();
        return g.generateRegistrationForm(params);
    }

    /**
     * 生成学生登记表
     *
     * @param data List<Map>
     * @return 下载地址(相对路径)
     * @throws FileTypeNotFoundException
     * @throws IOException
     * @throws DocumentException
     * @author lrs
     */
    private String generateRegistrationForm(List<Map<String, Object>> data) throws BaseException, IOException, DocumentException {
        //生成临时pdf文件，用以获取配置中的文件路径
        FileInfoPo fileInfoPo = FileIOComponent.createTempFilePathByType(FileIOComponent.EXPORT_TYPE, "pdf", "学生登记表");
        String tempPath = fileInfoPo.getFileAbsPath();
        FileOutputStream fos = null;
        try {
            //初始文件输出流
            fos = new FileOutputStream(new File(tempPath));
            //初始化document对象
            Document document = new Document();
            //初始化pdfWriter对象
            PdfWriter pdfWriter = PdfWriter.getInstance(document, fos);
            //持久化pdfWriter对象
            pdfWriter.setCloseStream(false);
            //持久化document对象
            document.open();
            //往document对象添加数据
            addfoot(document, data);
            //关流
            document.close();
            pdfWriter.flush();
            pdfWriter.close();
        } catch (Exception e) {
            e.printStackTrace();
            throw new BaseException("生成学生登记表失败");
        } finally {
            if (fos != null) {
                fos.flush();
                fos.close();
            }
        }
        return fileInfoPo.getFileVirPath();
    }

    //添加页眉,页脚
    private void addfoot(Document document, List<Map<String, Object>> data) throws IOException, DocumentException, DictIsNotFoundException {
        //
//        Image image = Image.getInstance(imagePath);
//        image.scaleAbsolute(14, 16);//自定义大小
//        image.setAlignment(2);

        for (Map<String, Object> map : data) {
            String schoolname = (String) map.get("schoolname");     //学校名称
            String njdm = (String) map.get("njdm");                 //年级代码
            String rxnj = "01".equals(njdm) ? "入学年级：√托班  □小班" : "入学年级：□托班  √小班";


            Paragraph par = new Paragraph("幼儿入学信息登记表\n\n", font1);
            par.setAlignment(1);                                //0:左对齐,1:中间,2,右边
            document.add(par);

            Paragraph par2 = new Paragraph("报名学校：" + schoolname, font3);
            par2.setAlignment(0);                                //0:左对齐,1:中间,2,右边
            document.add(par2);

            Paragraph par3 = new Paragraph(rxnj + "\n", font3);
            par3.setSpacingBefore(-12);
            par3.setAlignment(2);                                //0:左对齐,1:中间,2,右边
            document.add(par3);

            //添加表格
            addTable(document, map);

            Paragraph par5 = new Paragraph("上述信息经过监护人核实，确认无误，并愿意承担相关责任。 监护人签字:  ______________ 日期: _____________\n", font5);
            par5.setAlignment(0);                                //0:左对齐,1:中间,2,右边
            par5.setSpacingBefore(20);
            document.add(par5);
            //换页
            document.newPage();
        }
    }

    //添加表格
    private void addTable(Document document, Map<String, Object> params) throws DocumentException, DictIsNotFoundException {
        //获取参数
        String xm = (String) params.get("xm");          //姓名
        String csrq = (String) params.get("csrq");      //出生日期
        String year = "", yue = "", ri = "";            //年 月 日
        if (csrq != null && csrq.length() > 7) {        //拆分字段
            year = csrq.substring(0, 4);
            yue = csrq.substring(4, 6);
            ri = csrq.substring(6, 8);
        }
        String xb = (String) params.get("xb");          //性别
        String xbPdf = "1".equals(xb) ? "*性别：  √男    □女" : "2".equals(xb) ? "*性别：  □男    √女" : "*性别：  □男    □女";
        String sfzjlx = (String) params.get("sfzlx");   //身份证件类型
        String sfzjh = (String) params.get("sfzjh");    //身份证件号
        String sfzjhPdf = sfzjh, gatxzPdf = "";
        if ("6".equals(sfzjlx) || "7".equals(sfzjlx)) {     //港澳通行证号码
            gatxzPdf = sfzjh;
            sfzjhPdf = "";
        }
        String jzzlx = (String) params.get("jzzlx");    //居住证类型


        //初始化表格1
        PdfPTable table = new PdfPTable(1);
        //设置表格宽度
        table.setWidthPercentage(100f);
        //段落前间距
        table.setSpacingBefore(5f);
        //设置每列的宽度
        table.setWidths(new float[]{100});
        //设置列的默认属性
        table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
        table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE);

        PdfPCell baseTableCell = new PdfPCell(new Paragraph("(一)学生基本信息", font6));
        baseTableCell.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        baseTableCell.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        baseTableCell.setPaddingLeft(5);
        baseTableCell.setBackgroundColor(BaseColor.GRAY);
        baseTableCell.setFixedHeight(22);
        table.addCell(baseTableCell);
        document.add(table);

        //第二行 第二个表格 姓名
        PdfPTable table2 = new PdfPTable(4);
        table2.setWidthPercentage(100f);
        table2.setWidths(new float[]{15, 30, 25, 30});

        PdfPCell baseTableCel2 = new PdfPCell(new Paragraph("*姓名（证件姓名）：", font7));
        baseTableCel2.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        baseTableCel2.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        baseTableCel2.setPaddingLeft(5);
        baseTableCel2.setFixedHeight(20);
        table2.addCell(baseTableCel2);

        PdfPCell baseTableCel3 = new PdfPCell(new Paragraph(xm, font7));
        baseTableCel3.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        baseTableCel3.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        baseTableCel3.setPaddingLeft(5);
        baseTableCel3.setFixedHeight(20);
        table2.addCell(baseTableCel3);

        PdfPCell baseTableCel4 = new PdfPCell(new Paragraph("*出生日期： " + year + "  年  " + yue + " 月  " + ri + "  日", font7));
        baseTableCel4.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        baseTableCel4.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        baseTableCel4.setPaddingLeft(2);
        baseTableCel4.setFixedHeight(20);
        table2.addCell(baseTableCel4);

        PdfPCell baseTableCel5 = new PdfPCell(new Paragraph(xbPdf, font7));     //性别
        baseTableCel5.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        baseTableCel5.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        baseTableCel5.setPaddingLeft(5);
        baseTableCel5.setFixedHeight(20);
        table2.addCell(baseTableCel5);

        document.add(table2);

        //第三行 第三个表格 证件类型
        PdfPTable table3 = new PdfPTable(3);
        table3.setWidthPercentage(100f);
        table3.setWidths(new int[]{9, 61, 30});

        PdfPCell cell6 = new PdfPCell(new Paragraph("*证件类型：", font7));
        cell6.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell6.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell6.setPaddingLeft(5);
        cell6.setFixedHeight(25);
        table3.addCell(cell6);

        PdfPCell cell7 = new PdfPCell(new Paragraph(getZjlxPdf(sfzjlx), font7));
        cell7.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell7.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell7.setPaddingLeft(5);
        cell7.setFixedHeight(25);
        table3.addCell(cell7);

        PdfPCell cell8 = new PdfPCell(new Paragraph("*身份证件号码：" + sfzjhPdf + "\n 港澳通行证号码：" + gatxzPdf, font7));
        cell8.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell8.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell8.setPaddingLeft(5);
        cell8.setFixedHeight(25);
        table3.addCell(cell8);

        document.add(table3);

        //第4行 第4个表格 居住证类型
        PdfPTable table4 = new PdfPTable(2);
        table4.setWidthPercentage(100f);
        table4.setWidths(new int[]{70, 30});

        PdfPCell cell9 = new PdfPCell(new Paragraph(getJzzlx(jzzlx), font7));
//        PdfPCell cell9 = new PdfPCell(new Paragraph("上海居住证类型：   □上海市临时居住证       □上海市居住证     □上海市海外人才居住证     □其他", font7));
        cell9.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell9.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell9.setPaddingLeft(5);
        cell9.setFixedHeight(20);
        table4.addCell(cell9);

        String jzzhm = (String) params.get("jzzhm");
        jzzhm = jzzhm == null ? "" : jzzhm.trim();
        PdfPCell cell10 = new PdfPCell(new Paragraph("居住证编号：" + jzzhm, font7));
        cell10.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell10.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell10.setPaddingLeft(5);
        cell10.setFixedHeight(20);
        table4.addCell(cell10);

        document.add(table4);

        //第5行 第5个表格 健康状态
        PdfPTable table5 = new PdfPTable(2);
        table5.setWidthPercentage(100f);
        table5.setWidths(new int[]{70, 30});

        String jkzk = (String) params.get("jkzk");      //健康状况
        PdfPCell cell11 = new PdfPCell(new Paragraph(getJkzkPdf(jkzk), font7));
//        PdfPCell cell11 = new PdfPCell(new Paragraph("*健康状况：  □良好   □一般     □有慢性病  □残疾", font7));
        cell11.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell11.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell11.setPaddingLeft(5);
        cell11.setFixedHeight(20);
        table5.addCell(cell11);

        String mz = (String) params.get("mz");
        mz = mz == null ? "" : DataDict.getChineseValueByCode(EStandTables.民族表, mz);
        PdfPCell cell12 = new PdfPCell(new Paragraph("*民族：" + mz, font7));
        cell12.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell12.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell12.setPaddingLeft(5);
        cell12.setFixedHeight(20);
        table5.addCell(cell12);

        document.add(table5);

        //第6行 第6个表格 国籍
        PdfPTable table6 = new PdfPTable(2);
        table6.setWidthPercentage(100f);
        table6.setWidths(new int[]{15, 85});

        String gjdq = (String) params.get("gjdq");
        gjdq = gjdq == null ? "" : DataDict.getChineseValueByCode(EStandTables.国籍地区表, gjdq);
        PdfPCell cell13 = new PdfPCell(new Paragraph("*国籍/地区：" + gjdq, font7));
        cell13.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell13.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell13.setPaddingLeft(5);
        cell13.setFixedHeight(20);
        table6.addCell(cell13);

        String hkxz = (String) params.get("hkxz");
        PdfPCell cell14 = new PdfPCell(new Paragraph(getHkxzPdf(hkxz), font7));
//        PdfPCell cell14 = new PdfPCell(new Paragraph("*户口性质： □非农业家庭户口   □农业家庭户口   □非农业集体户口   □农业集体户口   □未落常住户口   □其他", font7));
        cell14.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell14.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell14.setPaddingLeft(5);
        cell14.setFixedHeight(20);
        table6.addCell(cell14);

        document.add(table6);

        //第7行 第7个表格 非农户口类型
        PdfPTable table7 = new PdfPTable(3);
        table7.setWidthPercentage(100f);
        table7.setWidths(new int[]{20, 45, 35});

        String fnhklx = (String) params.get("fnhklx");
        PdfPCell cell15 = new PdfPCell(new Paragraph(getFnyhklxPdf(fnhklx), font7));
//        PdfPCell cell15 = new PdfPCell(new Paragraph("*非农业户口类型：\n□城市  □县城  □乡镇", font7));
        cell15.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell15.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell15.setPaddingLeft(5);
        cell15.setFixedHeight(25);
        table7.addCell(cell15);

        String hjlb = (String) params.get("hjlb");
        PdfPCell cell16 = new PdfPCell(new Paragraph(getHjlbPdf(hjlb), font7));
//        PdfPCell cell16 = new PdfPCell(new Paragraph("*户籍类别：□常驻   □蓝印   □外省市   □港澳台侨\n            □外籍   ", font7));
        cell16.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell16.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell16.setPaddingLeft(5);
        cell16.setFixedHeight(25);
        table7.addCell(cell16);

        String sfrhyz = (String) params.get("sfrhyz");
        PdfPCell cell17 = new PdfPCell(new Paragraph(getSfrhyzPdf(sfrhyz), font7));
//        PdfPCell cell17 = new PdfPCell(new Paragraph("*是否人户一致：  □是      □否", font7));
        cell17.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell17.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell17.setPaddingLeft(5);
        cell17.setFixedHeight(25);
        table7.addCell(cell17);

        document.add(table7);

        //第8行 第8个表格 户口地所属居委
        PdfPTable table8 = new PdfPTable(1);
        table8.setWidthPercentage(100f);
        table8.setWidths(new float[]{100});

        //,hksf,hkqx,hkjwh,hkjz
        String hksf = (String) params.get("hksf");  //户口省份
        hksf = hksf == null ? "" : DataDict.getChineseValueByCode(EStandTables.省份城市表, hksf);
        String hkcity = (String) params.get("hkcity");  //户口市
        hkcity = hkcity == null ? "" : DataDict.getChineseValueByCode(EStandTables.省份城市表, hksf);
        String hkqx = (String) params.get("hkqx");  //户口区县
        hkqx = hkqx == null ? "" : DataDict.getChineseValueByCode(EStandTables.区县表, hkqx);
        String hkjz = (String) params.get("hkjz");  //户口街镇
        hkjz = hkjz == null ? "" : DataDict.getChineseValueByCode(EStandTables.街道表, hkjz);
        String hkjwh = (String) params.get("hkjwh");//户口居委
        hkjwh = hkjwh == null ? "" : DataDict.getChineseValueByCode(EStandTables.居委表, hkjwh);
        PdfPCell cell18 = new PdfPCell(new Paragraph("*户口地所属居委/村：   " + hksf + "（省/市）   " + hkcity + "（市）  " + hkqx + "（区/县）  " + hkjz + "（街道/镇）  " + hkjwh + "（居委会/村）", font7));
        cell18.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell18.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell18.setPaddingLeft(5);
        cell18.setFixedHeight(20);
        table8.addCell(cell18);

        document.add(table8);


        //第9行 第9个表格 户口详细信息
        PdfPTable table9 = new PdfPTable(2);
        table9.setWidthPercentage(100f);
        table9.setWidths(new int[]{60, 40});

        //hksf,hkqx,hkjz,hkjwh,hkrod,hkz,hkldh,hks
        String hkrod = (String) params.get("hkrod");    //户口路
        hkrod = hkrod == null ? "" : hkrod;
        String hkz = (String) params.get("hkz");        //户口弄
        hkz = hkz == null ? "" : hkz;
        String hkldh = (String) params.get("hkldh");    //户口楼栋号
        hkldh = hkldh == null ? "" : hkldh;
        String hks = (String) params.get("hks");        //户口室
        hks = hks == null ? "" : hks;
        PdfPCell cell19 = new PdfPCell(new Paragraph("*户口详细地址：" + hksf + "(省/市) " + hkqx + "(市/区县) " + hkjz + "(街镇) " + hkjwh + "(居委) " + hkrod + "(路) " + hkz + "(组/弄) " + hkldh + "(楼栋号) " + hks + "(室)", font7));
//        PdfPCell cell19 = new PdfPCell(new Paragraph("*户口详细地址：", font7));
        cell19.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell19.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell19.setPaddingLeft(5);
        cell19.setFixedHeight(20);
        table9.addCell(cell19);

        String hjdjr = (String) params.get("hjdjr");    //户籍登记日
        String djYear = "", djMonth = "", djDay = "";
        if (hjdjr != null) {
            hjdjr = hjdjr.replace("-", "");
            if (hjdjr.length() > 7) {
                djYear = hjdjr.substring(0, 4);
                djMonth = hjdjr.substring(4, 6);
                djDay = hjdjr.substring(6, 8);
            }
        }
        PdfPCell cell20 = new PdfPCell(new Paragraph("*户籍登记日：" + djYear + "年 " + djMonth + "月 " + djDay + "日 ", font7));
//        PdfPCell cell20 = new PdfPCell(new Paragraph("*户籍登记日：          年        月       日", font7));
        cell20.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell20.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell20.setPaddingLeft(5);
        cell20.setFixedHeight(20);
        table9.addCell(cell20);

        document.add(table9);


        //第10行 第10个表格 户主关系
        PdfPTable table10 = new PdfPTable(1);
        table10.setWidthPercentage(100f);
        table10.setWidths(new float[]{100});

        String hzgx = (String) params.get("hzgx");      //户主关系
        PdfPCell cell21 = new PdfPCell(new Paragraph(getHzgxPdf(hzgx), font7));
//        PdfPCell cell21 = new PdfPCell(new Paragraph("*与户主关系：   □本人    □父/母     □祖父母/外祖父母       □兄弟姐妹   □其他亲属       □非亲属", font7));
        cell21.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell21.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell21.setPaddingLeft(5);
        cell21.setFixedHeight(20);
        table10.addCell(cell21);

        document.add(table10);

        //第11行 第11个表格  现住地详细地址
        PdfPTable table11 = new PdfPTable(3);
        table11.setWidthPercentage(100f);
        table11.setWidths(new int[]{50, 25, 25});

        //xzzsf,xzzqx,xzzjd,xzzjw,xzzrod,xzzz,xzzldh,xzzs
        String xzzsf = (String) params.get("xzzsf");        //现住址省份
        xzzsf = xzzsf == null ? "" : DataDict.getChineseValueByCode(EStandTables.省份城市表, xzzsf);
        String xzzqx = (String) params.get("xzzqx");        //现住址区县
        xzzqx = xzzqx == null ? "" : DataDict.getChineseValueByCode(EStandTables.区县表, xzzqx);
        String xzzjd = (String) params.get("xzzjd");        //现住址街道
        xzzjd = xzzjd == null ? "" : DataDict.getChineseValueByCode(EStandTables.街道表, xzzjd);
        String xzzjw = (String) params.get("xzzjw");        //现住址居委
        xzzjw = xzzjw == null ? "" : DataDict.getChineseValueByCode(EStandTables.居委表, xzzjw);
        String xzzrod = (String) params.get("xzzrod");      //现住址路
        xzzrod = xzzrod == null ? "" : xzzrod;
        String xzzz = (String) params.get("xzzz");          //现住址弄/组
        xzzz = xzzz == null ? "" : xzzz;
        String xzzldh = (String) params.get("xzzldh");      //现住址楼栋号
        xzzldh = xzzldh == null ? "" : xzzldh;
        String xzzs = (String) params.get("xzzs");          //现住址室
        xzzs = xzzs == null ? "" : xzzs;
        PdfPCell cell122 = new PdfPCell(new Paragraph("*现住地详细地址： 上海市(省/市)  " + xzzqx + "(市/区) " + xzzjd + "(街镇) " + xzzjw + "(居委) " + xzzrod + "(路) " + xzzz + "(弄/组) " + xzzldh + "(楼栋号) " + xzzs + "(室)", font7));
        cell122.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell122.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell122.setPaddingLeft(5);
        cell122.setFixedHeight(25);
        table11.addCell(cell122);

        String xzzyzbm = (String) params.get("xzzyzbm");
        xzzyzbm = xzzyzbm == null ? "" : xzzyzbm;
        PdfPCell cell23 = new PdfPCell(new Paragraph("*现住地邮编：" + xzzyzbm, font7));
        cell23.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell23.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell23.setPaddingLeft(5);
        cell23.setFixedHeight(25);
        table11.addCell(cell23);

        String lxdh = (String) params.get("lxdh");
        lxdh = lxdh == null ? "" : lxdh;
        PdfPCell cell24 = new PdfPCell(new Paragraph("*联系电话：" + lxdh, font7));
        cell24.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell24.setVerticalAlignment(Element.ALIGN_MIDDLE);
        cell24.setPaddingLeft(5);
        cell24.setFixedHeight(25);
        table11.addCell(cell24);

        document.add(table11);

        //第12行 第12个表格 现住地所属居委/村
        PdfPTable table12 = new PdfPTable(1);
        table12.setWidthPercentage(100f);
        table12.setWidths(new float[]{100});

        PdfPCell cell25 = new PdfPCell(new Paragraph("*现住地所属居委/村：      上海市（省/市）   上海市（市）   " + xzzqx + "（区/县）   " + xzzjd + "（街道/镇）   " + xzzjw + "（居委会/村）", font7));
        cell25.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell25.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell25.setPaddingLeft(5);
        cell25.setFixedHeight(20);
        table12.addCell(cell25);

        document.add(table12);

        //第13行 第13个表格 住房性质
        PdfPTable table13 = new PdfPTable(1);
        table13.setWidthPercentage(100f);
        table13.setWidths(new float[]{100});

        String zfxz = (String) params.get("zfxz");      //住房性质
        String czbh = (String) params.get("czbh");      //产证编号
        String cqfdz = (String) params.get("cqfdz");    //产权房地址
        String htbh = (String) params.get("htbh");      //合同编号
        String qzrq = (String) params.get("qzrq");      //起租日期
        String zfqt = (String) params.get("zfqt");      //住房其它
        String djrq = (String) params.get("djrq");      //登记日期
        PdfPCell cell26 = new PdfPCell(new Paragraph(getZfxzPdf(zfxz, czbh, cqfdz, htbh, qzrq, zfqt, djrq), font7));
//        PdfPCell cell26 = new PdfPCell(new Paragraph("*住房性质：   □产权房（产证编号：_____________________登记日期：              产权房地址：_______________________________）\n\n" +
//                "              □公/廉租房         □集体宿舍         □租赁（合同编号：_________________起租日期：_________________）\n\n" +
//                "              □其他：_____________________________ ", font7));
        cell26.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell26.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell26.setPaddingLeft(5);
        cell26.setFixedHeight(40);
        table13.addCell(cell26);

        document.add(table13);

        //第14行 第14个表格 与购房人或承租人关系
        PdfPTable table14 = new PdfPTable(1);
        table14.setWidthPercentage(100f);
        table14.setWidths(new float[]{100});

        String gfrgx = (String) params.get("gfrgx");    //购房人关系
        PdfPCell cell27 = new PdfPCell(new Paragraph(getHzgxPdf(gfrgx), font7));
//        PdfPCell cell27 = new PdfPCell(new Paragraph("与购房人或承租人关系:   □本人   □父/母      □祖父母/外祖父母       □兄弟姐妹       □其他亲属       □非亲属", font7));
        cell27.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell27.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell27.setPaddingLeft(5);
        cell27.setFixedHeight(20);
        table14.addCell(cell27);

        document.add(table14);

        //第15行 第15个表格 是否符合计划生育政策
        PdfPTable table15 = new PdfPTable(2);
        table15.setWidthPercentage(100f);
        table15.setWidths(new float[]{50, 50});

        String sffhjs = (String) params.get("sffhjs");      //是否符合计划生育
        PdfPCell cell28 = new PdfPCell(new Paragraph(getSffhjsPdf(sffhjs), font7));
//        PdfPCell cell28 = new PdfPCell(new Paragraph("*是否符合计划生育政策：  □是      □否", font7));
        cell28.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell28.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell28.setPaddingLeft(5);
        cell28.setFixedHeight(20);
        table15.addCell(cell28);

        String sfnmgtzzn = (String) params.get("sfnmgtzzn");    //是否农民工同住子女
        PdfPCell cell29 = new PdfPCell(new Paragraph(getSfnmgPdf(sfnmgtzzn), font7));
//        PdfPCell cell29 = new PdfPCell(new Paragraph("*是否农民工同住子女：□是    □否", font7));
        cell29.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell29.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell29.setPaddingLeft(5);
        cell29.setFixedHeight(20);
        table15.addCell(cell29);

        document.add(table15);


        //第16行 第16个表格 与购房人或承租人关系
        PdfPTable table16 = new PdfPTable(1);
        table16.setWidthPercentage(100f);
        table16.setWidths(new float[]{100});

        String sflqcjz = (String) params.get("sflqcjz");    //是否领取残疾证
        String cjlb = (String) params.get("cjlb");          //残疾类别
        String cjzbh = (String) params.get("cjzbh");        //残疾证编号
        String cjzfzrq = (String) params.get("cjzfzrq");    //残疾证发证日期
        String cjzfzjg = (String) params.get("cjzfzjg");    //残疾证发证机关
        PdfPCell cell30 = new PdfPCell(new Paragraph(getSflqcjzPdf(sflqcjz, cjlb, cjzbh, cjzfzrq, cjzfzjg), font7));
//        PdfPCell cell30 = new PdfPCell(new Paragraph("是否领取残疾证：  □是    □否  残疾类别：  □视力残疾   □听力残疾   □言语残疾   □智力残疾   □精神残疾   □肢体残疾   □综合残疾\n\n" +
//                "                       残疾证编号：                    发证日期：                    发证机关：  \n", font7));
        cell30.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell30.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell30.setPaddingLeft(5);
        cell30.setFixedHeight(27);
        table16.addCell(cell30);

        //第17行 监护人信息
        PdfPCell cell31 = new PdfPCell(new Paragraph("(二)监护人信息", font6));
        cell31.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell31.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell31.setBackgroundColor(BaseColor.GRAY);
        cell31.setPaddingLeft(5);
        cell31.setFixedHeight(22);
        table16.addCell(cell31);

        document.add(table16);

        //第18-23行 第17个表格 监护人
        PdfPTable table17 = new PdfPTable(2);
        table17.setWidthPercentage(100f);
        table17.setWidths(new float[]{3, 97});

        PdfPCell cell32 = new PdfPCell(new Paragraph("监 \n\n\n护 \n\n\n人 ", font7));
        cell32.setHorizontalAlignment(Element.ALIGN_CENTER); //水平对其方式
        cell32.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell32.setPaddingLeft(5);
        cell32.setFixedHeight(141);
        cell32.setRowspan(6);
        table17.addCell(cell32);

        //内部表格第一行
        PdfPCell cell33 = new PdfPCell();
        cell33.addElement(innerTable1(params));
        cell33.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell33.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell33.setPadding(0);                              //表格间距
        cell33.setFixedHeight(20);
        table17.addCell(cell33);
        //内部表格第2行
        PdfPCell cell34 = new PdfPCell();
        cell34.addElement(innerTable2(params));
        cell34.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell34.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell34.setPadding(0);                              //表格间距
        cell34.setFixedHeight(27);
        table17.addCell(cell34);
        //内部表格第3行
        PdfPCell cell35 = new PdfPCell();
        cell35.addElement(innerTable3(params));
        cell35.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell35.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell35.setPadding(0);                              //表格间距
        cell35.setFixedHeight(27);
        table17.addCell(cell35);
        //内部表格第4行
        PdfPCell cell36 = new PdfPCell();
        cell36.addElement(innerTable4(params));
        cell36.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell36.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell36.setPadding(0);                              //表格间距
        cell36.setFixedHeight(27);
        table17.addCell(cell36);
        //内部表格第5行
        PdfPCell cell37 = new PdfPCell();
        cell37.addElement(innerTable5(params));
        cell37.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell37.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell37.setPadding(0);                              //表格间距
        cell37.setFixedHeight(20);
        table17.addCell(cell37);
        //内部表格第6行
        PdfPCell cell38 = new PdfPCell();
        cell38.addElement(innerTable6(params));
        cell38.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell38.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell38.setPadding(0);                              //表格间距
        cell38.setFixedHeight(20);
        table17.addCell(cell38);

        document.add(table17);

        //第24行 (三)入园依据（幼儿园填写）
        PdfPTable table18 = new PdfPTable(2);
        table18.setWidthPercentage(100f);
        table18.setWidths(new int[]{10, 90});

        PdfPCell cell39 = new PdfPCell(new Paragraph("(三)入园依据（幼儿园填写）", font6));
        cell39.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell39.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell39.setPadding(5);
        cell39.setBackgroundColor(BaseColor.GRAY);
        cell39.setColspan(2);
        cell39.setFixedHeight(22);
        table18.addCell(cell39);

        String ryyj = (String) params.get("ryyj");      //入园依据
        String ryyjlb = (String) params.get("ryyjlb");  //入园依据类别

        PdfPCell cell40 = new PdfPCell(new Paragraph("普通房产", font7));
        cell40.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell40.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell40.setPadding(5);
        cell40.setFixedHeight(20);
        table18.addCell(cell40);

        String ryyjlb1 = "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    □外籍";
        if ("10".equals(ryyj)) {
            ryyjlb1 = getRyyjlb(ryyj, ryyjlb);
        }
        PdfPCell cell41 = new PdfPCell(new Paragraph(ryyjlb1, font7));
        cell41.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell41.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell41.setPadding(5);
        cell41.setFixedHeight(20);
        table18.addCell(cell41);

        PdfPCell cell42 = new PdfPCell(new Paragraph("经适房： ", font7));
        cell42.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell42.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell42.setPadding(5);
        cell42.setFixedHeight(20);
        table18.addCell(cell42);

        String ryyjlb2 = "□本地段户籍    □本区户籍    □本市外区县户籍";
        if ("20".equals(ryyj)) {
            ryyjlb2 = getRyyjlb(ryyj, ryyjlb);
        }
        PdfPCell cell43 = new PdfPCell(new Paragraph(ryyjlb2, font7));
        cell43.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell43.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell43.setPadding(5);
        cell43.setFixedHeight(20);
        table18.addCell(cell43);

        PdfPCell cell44 = new PdfPCell(new Paragraph("廉租房：", font7));
        cell44.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell44.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell44.setPadding(5);
        cell44.setFixedHeight(20);
        table18.addCell(cell44);

        String ryyjlb3 = "□本地段户籍    □本区户籍    □本市外区县户籍";
        if ("30".equals(ryyj)) {
            ryyjlb3 = getRyyjlb(ryyj, ryyjlb);
        }
        PdfPCell cell45 = new PdfPCell(new Paragraph(ryyjlb3, font7));
        cell45.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell45.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell45.setPadding(5);
        cell45.setFixedHeight(20);
        table18.addCell(cell45);

        PdfPCell cell46 = new PdfPCell(new Paragraph("动迁：", font7));
        cell46.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell46.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell46.setPadding(5);
        cell46.setFixedHeight(20);
        table18.addCell(cell46);

        String ryyjlb4 = "□本地段户籍    □本区户籍    □本市外区县户籍";
        if ("40".equals(ryyj)) {
            ryyjlb4 = getRyyjlb(ryyj, ryyjlb);
        }
        PdfPCell cell47 = new PdfPCell(new Paragraph(ryyjlb4, font7));
        cell47.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell47.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell47.setPadding(5);
        cell47.setFixedHeight(20);
        table18.addCell(cell47);

        PdfPCell cell48 = new PdfPCell(new Paragraph("合法居住证明：", font7));
        cell48.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell48.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell48.setPadding(5);
        cell48.setFixedHeight(20);
        table18.addCell(cell48);

        String ryyjlb5 = "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    □外籍";
        if ("50".equals(ryyj)) {
            ryyjlb5 = getRyyjlb(ryyj, ryyjlb);
        }
        PdfPCell cell49 = new PdfPCell(new Paragraph(ryyjlb5, font7));
        cell49.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell49.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell49.setPadding(5);
        cell49.setFixedHeight(20);
        table18.addCell(cell49);

        String syqk = (String) params.get("syqk");      //生源情况
        PdfPCell cell50 = new PdfPCell(new Paragraph(getSyqkPdf(syqk), font7));
//        PdfPCell cell50 = new PdfPCell(new Paragraph("*生源情况：     □地段生   □非地段生", font7));
        cell50.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell50.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell50.setPadding(5);
        cell50.setColspan(2);
        cell50.setFixedHeight(20);
        table18.addCell(cell50);

        document.add(table18);
    }

    //内嵌表格 第一个 监护人信息
    private PdfPTable innerTable1(Map<String, Object> params) throws DocumentException {
        PdfPTable table = new PdfPTable(4);
        table.setWidthPercentage(100f);
        table.setWidths(new int[]{12, 15, 53, 20});

        String jhrxm = (String) params.get("jhrxm");    //监护人姓名
        jhrxm = jhrxm == null ? "" : jhrxm;
        PdfPCell cell = new PdfPCell(new Paragraph("*姓名：" + jhrxm, font7));
        cell.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell.setPaddingLeft(5);
        cell.setFixedHeight(20);
        table.addCell(cell);

        String jhrxb = (String) params.get("jhrxb");    //监护人性别
        PdfPCell cell1 = new PdfPCell(new Paragraph(getXbPdf(jhrxb), font7));
//        PdfPCell cell1 = new PdfPCell(new Paragraph("*性别: □男 □女", font7));
        cell1.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell1.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell1.setPaddingLeft(5);
        cell1.setFixedHeight(20);
        table.addCell(cell1);

        String jhrgx = (String) params.get("jhrgx");    //监护人关系
        PdfPCell cell2 = new PdfPCell(new Paragraph(getJhrgxPdf(jhrgx), font7));
//        PdfPCell cell2 = new PdfPCell(new Paragraph("*关系： □父/母  □祖父母/外祖父母  □兄弟姐妹  □其他亲属  □非亲属", font7));
        cell2.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell2.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell2.setPaddingLeft(5);
        cell2.setFixedHeight(20);
        table.addCell(cell2);

        String jhrdh = (String) params.get("jhrdh");    //监护人电话
        jhrdh = jhrdh == null ? "" : jhrdh;
        PdfPCell cell3 = new PdfPCell(new Paragraph("*联系电话:" + jhrdh, font7));
        cell3.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell3.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell3.setPaddingLeft(5);
        cell3.setFixedHeight(20);
        table.addCell(cell3);
        return table;
    }

    //内嵌表格 第二个 监护人信息
    private PdfPTable innerTable2(Map<String, Object> params) throws DocumentException {
        PdfPTable table = new PdfPTable(2);
        table.setWidthPercentage(100f);
        table.setWidths(new int[]{70, 30});

        String jhrzjlx = (String) params.get("jhrzjlx");    //监护人身份证件类型
        PdfPCell cell1 = new PdfPCell(new Paragraph(getJhrzjlx(jhrzjlx), font7));
//        PdfPCell cell1 = new PdfPCell(new Paragraph("*身份证件类型：□居民身份证              □香港特区身份证明  □澳门特区身份证明\n\n" +
//                "               □台湾居民来往大陆通行证  □军官证  □士官证  □护照     □其他", font7));
        cell1.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell1.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell1.setPaddingLeft(5);
        cell1.setFixedHeight(27);
        table.addCell(cell1);

        String jhrzjhm = (String) params.get("jhrzjhm");    //监护人证件号码
        PdfPCell cell2 = new PdfPCell(new Paragraph("*身份证件号码：" + jhrzjhm, font7));
        cell2.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell2.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell2.setPaddingLeft(5);
        cell2.setFixedHeight(27);
        table.addCell(cell2);
        return table;
    }

    //内嵌表格 第3个 监护人信息
    private PdfPTable innerTable3(Map<String, Object> params) throws DocumentException, DictIsNotFoundException {
        PdfPTable table = new PdfPTable(3);
        table.setWidthPercentage(100f);
        table.setWidths(new int[]{30, 40, 30});

        String jhrhksf = (String) params.get("jhrhksf");    //监护人户口省份
        jhrhksf = jhrhksf == null ? "" : DataDict.getChineseValueByCode(EStandTables.省份城市表, jhrhksf);
        String jhrqx = (String) params.get("jhrqx");        //监护人区县
        jhrqx = jhrqx == null ? "" : DataDict.getChineseValueByCode(EStandTables.省份城市表, jhrhksf);
        PdfPCell cell = new PdfPCell(new Paragraph("户口信息：" + jhrhksf + "（省/市） " + jhrqx + "（市/区/县）", font7));
        cell.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell.setPaddingLeft(5);
        cell.setFixedHeight(27);
        table.addCell(cell);

        String jhrxl = (String) params.get("jhrxl");    //监护人学历
        PdfPCell cell1 = new PdfPCell(new Paragraph(getJhrxlPdf(jhrxl), font7));
//        PdfPCell cell1 = new PdfPCell(new Paragraph("学历： □博士  □研究生  □大本  □大专 \n\n" +
//                "       □中专  □高中    □初中  □小学 □其他", font7));
        cell1.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell1.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell1.setPaddingLeft(5);
        cell1.setFixedHeight(27);
        table.addCell(cell1);

        String jhrgzdw = (String) params.get("jhrgzdw");    //监护人工作单位
        jhrgzdw = jhrgzdw == null ? "" : jhrgzdw;
        PdfPCell cell2 = new PdfPCell(new Paragraph("工作单位：" + jhrgzdw, font7));
        cell2.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell2.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell2.setPaddingLeft(5);
        cell2.setFixedHeight(27);
        table.addCell(cell2);

        return table;
    }

    //内嵌表格 第4个 监护人信息
    private PdfPTable innerTable4(Map<String, Object> params) throws DocumentException {
        PdfPTable table = new PdfPTable(3);
        table.setWidthPercentage(100f);
        table.setWidths(new int[]{50, 25, 25});

        String jhrjzzlx = (String) params.get("jhrjzzlx");  //监护人居住证类型
        PdfPCell cell = new PdfPCell(new Paragraph(getJzzlx(jhrjzzlx), font7));
//        PdfPCell cell = new PdfPCell(new Paragraph("上海居住证类型：□上海市临时居住证       □上海市居住证  \n\n" +
//                "               □上海市海外人才居住证   □其他", font7));
        cell.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell.setPaddingLeft(5);
        cell.setFixedHeight(27);
        table.addCell(cell);

        String jhrjzzhm = (String) params.get("jhrjzzhm");  //监护人居住证号码
        jhrjzzhm = jhrjzzhm == null ? "" : jhrjzzhm;
        PdfPCell cell1 = new PdfPCell(new Paragraph("居住证号码：" + jhrjzzhm, font7));
        cell1.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell1.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell1.setPaddingLeft(5);
        cell1.setFixedHeight(27);
        table.addCell(cell1);

        String jhrjzzyxq = (String) params.get("jhrjzzyxq");    //监护人居住证有效期
        jhrjzzyxq = jhrjzzyxq == null ? "" : jhrjzzyxq;
        PdfPCell cell2 = new PdfPCell(new Paragraph("居住证有效期：" + jhrjzzyxq, font7));
        cell2.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell2.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell2.setPaddingLeft(5);
        cell2.setFixedHeight(27);
        table.addCell(cell2);

        return table;
    }

    //内嵌表格 第5个 监护人信息
    private PdfPTable innerTable5(Map<String, Object> params) throws DocumentException {
        PdfPTable table = new PdfPTable(2);
        table.setWidthPercentage(100f);
        table.setWidths(new int[]{50, 50});

        String jhrsfbzf = (String) params.get("jhrsfbzf");  //是否标准分
        PdfPCell cell = new PdfPCell(new Paragraph(getJhrsfbzfPdf(jhrsfbzf), font7));
//        PdfPCell cell = new PdfPCell(new Paragraph("上海市居住证是否积分达到标准分值：  □是    □否", font7));
        cell.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell.setPaddingLeft(5);
        cell.setFixedHeight(20);
        table.addCell(cell);

        String jhrlssj = (String) params.get("jhrlssj");    //监护人临时时间
        jhrlssj = jhrlssj == null ? "" : jhrlssj;
        PdfPCell cell1 = new PdfPCell(new Paragraph("上海市临时居住证首次办理时间：" + jhrlssj, font7));
        cell1.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell1.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell1.setPaddingLeft(5);
        cell1.setFixedHeight(20);
        table.addCell(cell1);

        return table;
    }

    //内嵌表格 第6个 监护人信息
    private PdfPTable innerTable6(Map<String, Object> params) throws DocumentException, DictIsNotFoundException {
        PdfPTable table = new PdfPTable(1);
        table.setWidthPercentage(100f);
        table.setWidths(new int[]{100});

        String jhrsflhjy = (String) params.get("jhrsflhjy");    //是否灵活就业
        String jhrlhjybh = (String) params.get("jhrlhjybh");    //灵活就业编号
        String jhrsyhylb = (String) params.get("jhrsyhylb");    //监护人就业行业类别
        jhrsyhylb = jhrsyhylb == null ? "" : DataDict.getChineseValueByCode(EStandTables.行业类别, jhrsyhylb);
        String jydjcs = (String) params.get("jydjcs");          //登记次数
        PdfPCell cell = new PdfPCell(new Paragraph(getJhrsflhjyPdf(jhrsflhjy, jhrlhjybh, jhrsyhylb, jydjcs), font7));
//        PdfPCell cell = new PdfPCell(new Paragraph("是否持有灵活就业登记证明： □是   □否         就业失业登记证编号：                行业类别：           登记次数：   ", font7));
        cell.setHorizontalAlignment(Element.ALIGN_LEFT); //水平对其方式
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直对其方式
        cell.setPaddingLeft(5);
        cell.setFixedHeight(20);
        table.addCell(cell);

        return table;
    }

    //证件类型
    private String getZjlxPdf(String sfzjlx) {
        String sfzjlxPdf = "□居民身份证                 □香港特区身份证明        □澳门特区身份证明\n□台湾居民来往大陆通行证     □护照                    □其他";
        if ("1".equals(sfzjlx)) {
            sfzjlxPdf = "√居民身份证                 □香港特区身份证明        □澳门特区身份证明\n□台湾居民来往大陆通行证     □护照                    □其他";
        }
        if ("6".equals(sfzjlx)) {
            sfzjlxPdf = "□居民身份证                 √香港特区身份证明        □澳门特区身份证明\n□台湾居民来往大陆通行证     □护照                    □其他";
        }
        if ("7".equals(sfzjlx)) {
            sfzjlxPdf = "□居民身份证                 □香港特区身份证明        √澳门特区身份证明\n□台湾居民来往大陆通行证     □护照                    □其他";
        }
        if ("8".equals(sfzjlx)) {
            sfzjlxPdf = "□居民身份证                 □香港特区身份证明        □澳门特区身份证明\n√台湾居民来往大陆通行证     □护照                    □其他";
        }
        if ("A".equals(sfzjlx)) {
            sfzjlxPdf = "□居民身份证                 □香港特区身份证明        □澳门特区身份证明\n□台湾居民来往大陆通行证     √护照                    □其他";
        }
        if ("Z".equals(sfzjlx)) {
            sfzjlxPdf = "□居民身份证                 □香港特区身份证明        □澳门特区身份证明\n□台湾居民来往大陆通行证     □护照                    √其他";
        }
        return sfzjlxPdf;
    }

    //居住证
    private String getJzzlx(String jzzlx) {
        String jzzlxPdf = "上海居住证类型：   □上海市临时居住证       □上海市居住证     □上海市海外人才居住证     □其他";
        if ("0".equals(jzzlx)) {
            jzzlxPdf = "上海居住证类型：   □上海市临时居住证       □上海市居住证     □上海市海外人才居住证     √其他";
        }
        if ("1".equals(jzzlx)) {
            jzzlxPdf = "上海居住证类型：   □上海市临时居住证       √上海市居住证     □上海市海外人才居住证     □其他";
        }
        if ("2".equals(jzzlx)) {
            jzzlxPdf = "上海居住证类型：   □上海市临时居住证       □上海市居住证     √上海市海外人才居住证     □其他";
        }
        if ("L".equals(jzzlx)) {
            jzzlxPdf = "上海居住证类型：   √上海市临时居住证       □上海市居住证     □上海市海外人才居住证     □其他";
        }
        return jzzlxPdf;
    }

    //户口性质
    private String getHkxzPdf(String hkxz) {
        String hkxzPdf = "*户口性质： □非农业家庭户口   □农业家庭户口   □非农业集体户口   □农业集体户口   □未落常住户口   □其他";
        if ("0".equals(hkxz)) return "*户口性质： □非农业家庭户口   □农业家庭户口   □非农业集体户口   □农业集体户口   √未落常住户口   □其他";
        if ("1".equals(hkxz)) return "*户口性质： √非农业家庭户口   □农业家庭户口   □非农业集体户口   □农业集体户口   □未落常住户口   □其他";
        if ("2".equals(hkxz)) return "*户口性质： □非农业家庭户口   √农业家庭户口   □非农业集体户口   □农业集体户口   □未落常住户口   □其他";
        if ("3".equals(hkxz)) return "*户口性质： □非农业家庭户口   □农业家庭户口   √非农业集体户口   □农业集体户口   □未落常住户口   □其他";
        if ("4".equals(hkxz)) return "*户口性质： □非农业家庭户口   □农业家庭户口   □非农业集体户口   √农业集体户口   □未落常住户口   □其他";
        if ("8".equals(hkxz)) return "*户口性质： □非农业家庭户口   □农业家庭户口   □非农业集体户口   □农业集体户口   □未落常住户口   √其他";
        return hkxzPdf;
    }

    //非农业户口类型
    private String getFnyhklxPdf(String fnyhklx) {
        String fnyhklxPdf = "*非农业户口类型：\n□城市  □县城  □乡镇";
        if ("1".equals(fnyhklx)) return "*非农业户口类型：\n√城市  □县城  □乡镇";
        if ("2".equals(fnyhklx)) return "*非农业户口类型：\n□城市  √县城  □乡镇";
        if ("3".equals(fnyhklx)) return "*非农业户口类型：\n□城市  □县城  √乡镇";
        return fnyhklxPdf;
    }

    //户籍类别
    private String getHjlbPdf(String hjlb) {
        String hjlbPdf = "*户籍类别：□常驻   □蓝印   □外省市   □港澳台侨\n            □外籍   ";
        if ("1".equals(hjlb)) return "*户籍类别：√常驻   □蓝印   □外省市   □港澳台侨\n            □外籍   ";
        if ("2".equals(hjlb)) return "*户籍类别：□常驻   √蓝印   □外省市   □港澳台侨\n            □外籍   ";
        if ("3".equals(hjlb)) return "*户籍类别：□常驻   □蓝印   √外省市   □港澳台侨\n            □外籍   ";
        if ("4".equals(hjlb)) return "*户籍类别：□常驻   □蓝印   □外省市   √港澳台侨\n            □外籍   ";
        if ("5".equals(hjlb)) return "*户籍类别：□常驻   □蓝印   □外省市   □港澳台侨\n            √外籍   ";
//        if ("9".equals(hjlb)) return "*户籍类别：□常驻   □蓝印   □外省市   □港澳台侨\n            □外籍   √其他";
        return hjlbPdf;
    }

    //是否人户一致
    private String getSfrhyzPdf(String sfrhyz) {
        String sfrhyzPdf = "*是否人户一致：  □是      □否";
        if ("1".equals(sfrhyz)) return "*是否人户一致：  √是      □否";
        if ("0".equals(sfrhyz)) return "*是否人户一致：  □是      √否";
        return sfrhyzPdf;
    }

    //户主关系
    private String getHzgxPdf(String hzgx) {
        String hzgxPdf = "*与户主关系：   □本人    □父/母     □祖父母/外祖父母       □兄弟姐妹   □其他亲属       □非亲属";
        if ("1".equals(hzgx)) return "*与户主关系：   √本人    □父/母     □祖父母/外祖父母       □兄弟姐妹   □其他亲属       □非亲属";
        if ("2".equals(hzgx)) return "*与户主关系：   □本人    √父/母     □祖父母/外祖父母       □兄弟姐妹   □其他亲属       □非亲属";
        if ("3".equals(hzgx)) return "*与户主关系：   □本人    □父/母     √祖父母/外祖父母       □兄弟姐妹   □其他亲属       □非亲属";
        if ("4".equals(hzgx)) return "*与户主关系：   □本人    □父/母     □祖父母/外祖父母       √兄弟姐妹   □其他亲属       □非亲属";
        if ("5".equals(hzgx)) return "*与户主关系：   □本人    □父/母     □祖父母/外祖父母       □兄弟姐妹   √其他亲属       □非亲属";
        if ("6".equals(hzgx)) return "*与户主关系：   □本人    □父/母     □祖父母/外祖父母       □兄弟姐妹   □其他亲属       √非亲属";
        return hzgxPdf;
    }

    //家庭关系
    private String getJhrgxPdf(String jhrgx) {
        if ("51".equals(jhrgx)) return "*与户主关系：  √父亲  □母亲  □祖父母/外祖父母  □兄弟姐妹  □其他亲属  □非亲属";
        if ("52".equals(jhrgx)) return "*与户主关系：  □父亲  √母亲  □祖父母/外祖父母  □兄弟姐妹  □其他亲属  □非亲属";
        if ("60".equals(jhrgx)) return "*与户主关系：  □父亲  □母亲  √祖父母/外祖父母  □兄弟姐妹  □其他亲属  □非亲属";
        if ("70".equals(jhrgx)) return "*与户主关系：  □父亲  □母亲  □祖父母/外祖父母  √兄弟姐妹  □其他亲属  □非亲属";
        if ("97".equals(jhrgx)) return "*与户主关系：  □父亲  □母亲  □祖父母/外祖父母  □兄弟姐妹  √其他亲属  □非亲属";
        if ("99".equals(jhrgx)) return "*与户主关系：  □父亲  □母亲  □祖父母/外祖父母  □兄弟姐妹  □其他亲属  √非亲属";
        return "*与户主关系： □父亲  □母亲  □祖父母/外祖父母  □兄弟姐妹  □其他亲属  □非亲属";
    }

    //住房性质
    private String getZfxzPdf(String zfxz, String czbh, String cqfdz, String htbh, String qzrq, String zfqt, String djrq) {
        String zfxzPdf = "*住房性质：   □产权房（产证编号：_____________________登记日期：              产权房地址：_______________________________）\n\n" +
                "              □公/廉租房         □集体宿舍         □租赁（合同编号：_________________起租日期：_________________）\n\n" +
                "              □其他：_____________________________ ";
        if ("1".equals(zfxz))
            return "*住房性质：   □产权房（产证编号：_____________________登记日期：              产权房地址：_______________________________）\n\n" +
                    "              √公/廉租房         □集体宿舍         □租赁（合同编号：_________________起租日期：_________________）\n\n" +
                    "              □其他：_____________________________ ";
        if ("2".equals(zfxz))
            return "*住房性质：   □产权房（产证编号：_____________________登记日期：              产权房地址：_______________________________）\n\n" +
                    "              □公/廉租房         √集体宿舍         □租赁（合同编号：_________________起租日期：_________________）\n\n" +
                    "              □其他：_____________________________ ";
        if ("3".equals(zfxz))
            return "*住房性质：   □产权房（产证编号：_____________________登记日期：              产权房地址：_______________________________）\n\n" +
                    "              □公/廉租房         □集体宿舍         √租赁（合同编号：" + htbh + "   起租日期：" + qzrq + "）\n\n" +
                    "              □其他：_____________________________ ";
        if ("4".equals(zfxz))
            return "*住房性质：   √产权房（产证编号：" + czbh + "   登记日期：" + djrq + "    产权房地址：" + cqfdz + "）\n\n" +
                    "              □公/廉租房         □集体宿舍         □租赁（合同编号：_________________起租日期：_________________）\n\n" +
                    "              □其他：_____________________________ ";
        if ("5".equals(zfxz))
            return "*住房性质：   □产权房（产证编号：____________________登记日期：              产权房地址：_______________________________）\n\n" +
                    "              □公/廉租房         □集体宿舍         □租赁（合同编号：_________________起租日期：_________________）\n\n" +
                    "              √其他：" + zfqt + " ";
        return zfxzPdf;
    }

    //是否符合计划生育
    private String getSffhjsPdf(String sffhjs) {
        String sffhjsPdf = "*是否符合计划生育政策：  □是      □否";
        if ("1".equals(sffhjs)) return "*是否符合计划生育政策：  √是      □否";
        if ("0".equals(sffhjs)) return "*是否符合计划生育政策：  □是      √否";
        return sffhjsPdf;
    }

    //是否农民工同住子女
    private String getSfnmgPdf(String sfnmg) {
        if ("1".equals(sfnmg)) return "*是否农民工同住子女：√是    □否";
        if ("0".equals(sfnmg)) return "*是否农民工同住子女：□是    √否";
        return "*是否农民工同住子女：□是    □否";
    }

    //是否领取残疾证
    private String getSflqcjzPdf(String sflqcjz, String cjlb, String cjzbh, String cjzfzrq, String cjzfzjg) {
        if ("1".equals(sflqcjz)) return "是否领取残疾证：  √是    □否  " + getCjlb(cjlb, cjzbh, cjzfzrq, cjzfzjg);
        if ("0".equals(sflqcjz))
            return "是否领取残疾证：  □是    √否  残疾类别：  □视力残疾   □听力残疾   □言语残疾   □智力残疾   □精神残疾   □肢体残疾   □综合残疾\n\n" +
                    "                       残疾证编号：                    发证日期：                    发证机关：  \n";
        return "是否领取残疾证：  □是    □否  残疾类别：  □视力残疾   □听力残疾   □言语残疾   □智力残疾   □精神残疾   □肢体残疾   □综合残疾\n\n" +
                "                       残疾证编号：                    发证日期：                    发证机关：  \n";
    }

    //残疾编号
    private String getCjlb(String cjlb, String cjzbh, String cjzfzrq, String cjzfzjg) {
        if ("1".equals(cjlb)) return "残疾类别：  √视力残疾   □听力残疾   □言语残疾   □智力残疾   □精神残疾   □肢体残疾   □综合残疾\n\n" +
                "                       残疾证编号：" + cjzbh + "                    发证日期：" + cjzfzrq + "                    发证机关：" + cjzfzjg + "  \n";
        if ("2".equals(cjlb)) return "残疾类别：  □视力残疾   √听力残疾   □言语残疾   □智力残疾   □精神残疾   □肢体残疾   □综合残疾\n\n" +
                "                       残疾证编号：" + cjzbh + "                    发证日期：" + cjzfzrq + "                    发证机关：" + cjzfzjg + "  \n";
        if ("6".equals(cjlb)) return "残疾类别：  □视力残疾   □听力残疾   √言语残疾   □智力残疾   □精神残疾   □肢体残疾   □综合残疾\n\n" +
                "                       残疾证编号：" + cjzbh + "                    发证日期：" + cjzfzrq + "                    发证机关：" + cjzfzjg + "  \n";
        if ("3".equals(cjlb)) return "残疾类别：  □视力残疾   □听力残疾   □言语残疾   √智力残疾   □精神残疾   □肢体残疾   □综合残疾\n\n" +
                "                       残疾证编号：" + cjzbh + "                    发证日期：" + cjzfzrq + "                    发证机关：" + cjzfzjg + "  \n";
        if ("7".equals(cjlb)) return "残疾类别：  □视力残疾   □听力残疾   □言语残疾   □智力残疾   √精神残疾   □肢体残疾   □综合残疾\n\n" +
                "                       残疾证编号：" + cjzbh + "                    发证日期：" + cjzfzrq + "                    发证机关：" + cjzfzjg + "  \n";
        if ("4".equals(cjlb)) return "残疾类别：  □视力残疾   □听力残疾   □言语残疾   □智力残疾   □精神残疾   √肢体残疾   □综合残疾\n\n" +
                "                       残疾证编号：" + cjzbh + "                    发证日期：" + cjzfzrq + "                    发证机关：" + cjzfzjg + "  \n";
        if ("9".equals(cjlb)) return "残疾类别：  □视力残疾   □听力残疾   □言语残疾   □智力残疾   □精神残疾   □肢体残疾   √综合残疾\n\n" +
                "                       残疾证编号：" + cjzbh + "                    发证日期：" + cjzfzrq + "                    发证机关：" + cjzfzjg + "  \n";
        return "残疾类别：  □视力残疾   □听力残疾   □言语残疾   □智力残疾   □精神残疾   □肢体残疾   □综合残疾\n\n" +
                "                       残疾证编号：                    发证日期：                    发证机关：  \n";
    }

    //性别
    private String getXbPdf(String xb) {
        if ("1".equals(xb)) return "*性别: √男 □女";
        if ("2".equals(xb)) return "*性别: □男 √女";
        return "*性别: □男 □女";
    }

    //监护人身份证类型
    private String getJhrzjlx(String jhrzjlx) {
        if ("1".equals(jhrzjlx)) return "*身份证件类型：√居民身份证              □香港特区身份证明  □澳门特区身份证明\n\n" +
                "               □台湾居民来往大陆通行证  □军官证  □士官证  □护照     □其他";
        if ("6".equals(jhrzjlx)) return "*身份证件类型：□居民身份证              √香港特区身份证明  □澳门特区身份证明\n\n" +
                "               □台湾居民来往大陆通行证  □军官证  □士官证  □护照     □其他";
        if ("7".equals(jhrzjlx)) return "*身份证件类型：□居民身份证              □香港特区身份证明  √澳门特区身份证明\n\n" +
                "               □台湾居民来往大陆通行证  □军官证  □士官证  □护照     □其他";
        if ("8".equals(jhrzjlx)) return "*身份证件类型：□居民身份证              □香港特区身份证明  □澳门特区身份证明\n\n" +
                "               √台湾居民来往大陆通行证  □军官证  □士官证  □护照     □其他";
        if ("F".equals(jhrzjlx)) return "*身份证件类型：□居民身份证              □香港特区身份证明  □澳门特区身份证明\n\n" +
                "               □台湾居民来往大陆通行证  √军官证  □士官证  □护照     □其他";
        if ("G".equals(jhrzjlx)) return "*身份证件类型：□居民身份证              □香港特区身份证明  □澳门特区身份证明\n\n" +
                "               □台湾居民来往大陆通行证  □军官证  √士官证  □护照     □其他";
        if ("A".equals(jhrzjlx)) return "*身份证件类型：□居民身份证              □香港特区身份证明  □澳门特区身份证明\n\n" +
                "               □台湾居民来往大陆通行证  □军官证  □士官证  √护照     □其他";
        if ("Z".equals(jhrzjlx)) return "*身份证件类型：□居民身份证              □香港特区身份证明  □澳门特区身份证明\n\n" +
                "               □台湾居民来往大陆通行证  □军官证  □士官证  □护照     √其他";
        return "*身份证件类型：□居民身份证              □香港特区身份证明  □澳门特区身份证明\n\n" +
                "               □台湾居民来往大陆通行证  □军官证  □士官证  □护照     □其他";
    }

    //监护人学历
    private String getJhrxlPdf(String jhrxl) {
        if ("11".equals(jhrxl)) return "学历： √博士  □硕士  □大本  □大专 \n\n" +
                "       □中专  □高中    □初中  □小学 □其他";
        if ("14".equals(jhrxl)) return "学历： □博士  √硕士  □大本  □大专 \n\n" +
                "       □中专  □高中    □初中  □小学 □其他";
        if ("21".equals(jhrxl)) return "学历： □博士  □硕士  √大本  □大专 \n\n" +
                "       □中专  □高中    □初中  □小学 □其他";
        if ("31".equals(jhrxl)) return "学历： □博士  □硕士  □大本  √大专 \n\n" +
                "       □中专  □高中    □初中  □小学 □其他";
        if ("41".equals(jhrxl)) return "学历： □博士  □硕士  □大本  □大专 \n\n" +
                "       √中专  □高中    □初中  □小学 □其他";
        if ("61".equals(jhrxl)) return "学历： □博士  □硕士  □大本  □大专 \n\n" +
                "       □中专  √高中    □初中  □小学 □其他";
        if ("71".equals(jhrxl)) return "学历： □博士  □硕士  □大本  □大专 \n\n" +
                "       □中专  □高中    √初中  □小学 □其他";
        if ("81".equals(jhrxl)) return "学历： □博士  □硕士  □大本  □大专 \n\n" +
                "       □中专  □高中    □初中  √小学 □其他";
        if ("90".equals(jhrxl)) return "学历： □博士  □硕士  □大本  □大专 \n\n" +
                "       □中专  □高中    □初中  □小学 √其他";
        return "学历： □博士  □硕士  □大本  □大专 \n\n" +
                "       □中专  □高中    □初中  □小学 □其他";
    }

    ///是否标准分
    private String getJhrsfbzfPdf(String jhrsfbzf) {
        if ("1".equals(jhrsfbzf)) return "上海市居住证是否积分达到标准分值：  √是    □否";
        if ("0".equals(jhrsfbzf)) return "上海市居住证是否积分达到标准分值：  □是    √否";
        return "上海市居住证是否积分达到标准分值：  □是    □否";
    }

    //监护人是否灵活就业
    private String getJhrsflhjyPdf(String jhrsflhjy, String jhrlhjybh, String jhrsyhylb, String jydjcs) {
        if ("1".equals(jhrsflhjy))
            return "是否持有灵活就业登记证明： √是   □否         就业失业登记证编号：" + jhrlhjybh + "      行业类别：" + jhrsyhylb + "      登记次数：" + jydjcs;
        if ("0".equals(jhrsflhjy))
            return "是否持有灵活就业登记证明： □是   √否         就业失业登记证编号：                行业类别：           登记次数：   ";
        return "是否持有灵活就业登记证明： □是   □否         就业失业登记证编号：                行业类别：           登记次数：   ";
    }

    //入园依据
    private String getRyyjlb(String ryyj, String ryyjlb) {
        if ("10".equals(ryyj)) {
            if ("10".equals(ryyjlb)) return "√本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    □外籍";
            if ("11".equals(ryyjlb)) return "□本地段户籍    √本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    □外籍";
            if ("12".equals(ryyjlb)) return "□本地段户籍    □本区户籍    √本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    □外籍";
            if ("13".equals(ryyjlb)) return "□本地段户籍    □本区户籍    □本市外区县户籍    √居住证标准积分    □居住证    □双证    □港澳台    □外籍";
            if ("14".equals(ryyjlb)) return "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    √居住证    □双证    □港澳台    □外籍";
            if ("15".equals(ryyjlb)) return "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    √双证    □港澳台    □外籍";
            if ("16".equals(ryyjlb)) return "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    √港澳台    □外籍";
            if ("17".equals(ryyjlb)) return "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    √外籍";
            return "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    □外籍";
        }
        if ("20".equals(ryyj)) {
            if ("20".equals(ryyjlb)) return "√本地段户籍    □本区户籍    □本市外区县户籍";
            if ("21".equals(ryyjlb)) return "□本地段户籍    √本区户籍    □本市外区县户籍";
            if ("22".equals(ryyjlb)) return "□本地段户籍    □本区户籍    √本市外区县户籍";
            return "□本地段户籍    □本区户籍    □本市外区县户籍";
        }
        if ("30".equals(ryyj)) {
            if ("30".equals(ryyjlb)) return "√本地段户籍    □本区户籍    □本市外区县户籍";
            if ("31".equals(ryyjlb)) return "□本地段户籍    √本区户籍    □本市外区县户籍";
            if ("32".equals(ryyjlb)) return "□本地段户籍    □本区户籍    √本市外区县户籍";
            return "□本地段户籍    □本区户籍    □本市外区县户籍";
        }
        if ("40".equals(ryyj)) {
            if ("40".equals(ryyjlb)) return "√本地段户籍    □本区户籍    □本市外区县户籍";
            if ("41".equals(ryyjlb)) return "□本地段户籍    √本区户籍    □本市外区县户籍";
            if ("42".equals(ryyjlb)) return "□本地段户籍    □本区户籍    √本市外区县户籍";
            return "□本地段户籍    □本区户籍    □本市外区县户籍";
        }
        if ("50".equals(ryyj)) {
            if ("50".equals(ryyjlb)) return "√本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    □外籍";
            if ("51".equals(ryyjlb)) return "□本地段户籍    √本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    □外籍";
            if ("52".equals(ryyjlb)) return "□本地段户籍    □本区户籍    √本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    □外籍";
            if ("53".equals(ryyjlb)) return "□本地段户籍    □本区户籍    □本市外区县户籍    √居住证标准积分    □居住证    □双证    □港澳台    □外籍";
            if ("54".equals(ryyjlb)) return "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    √居住证    □双证    □港澳台    □外籍";
            if ("55".equals(ryyjlb)) return "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    √双证    □港澳台    □外籍";
            if ("56".equals(ryyjlb)) return "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    √港澳台    □外籍";
            if ("17".equals(ryyjlb)) return "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    √外籍";
            return "□本地段户籍    □本区户籍    □本市外区县户籍    □居住证标准积分    □居住证    □双证    □港澳台    □外籍";
        }
        return "";
    }

    //生源情况
    private String getSyqkPdf(String syqk) {
        if ("1".equals(syqk)) return "*生源情况：     √地段生   □非地段生";
        if ("0".equals(syqk)) return "*生源情况：     □地段生   √非地段生";
        return "*生源情况：     □地段生   □非地段生";
    }

    //健康状况
    private String getJkzkPdf(String jkzk) {
        if ("10".equals(jkzk)) return "*健康状况：  √良好   □一般     □有慢性病  □残疾";
        if ("20".equals(jkzk)) return "*健康状况：  □良好   √一般     □有慢性病  □残疾";
        char firstStr = jkzk == null || "".equals(jkzk.trim()) ? '0' : jkzk.charAt(0);
        if ('3' == firstStr) return "*健康状况：  □良好   □一般     √有慢性病  □残疾";
        if ('6' == firstStr) return "*健康状况：  □良好   □一般     □有慢性病  √残疾";
        return "*健康状况：  □良好   □一般     □有慢性病  □残疾";
    }
}
